// pages/collection/index.js
let common = require('../../public')
Page({
  data: {
    active: 0,
    pageNum: 1,
    userId: '',
    token: '',
    listData: '',
    isLoadingBusy: false,
    noMoreData: false,
    refreshing: false
  },
  onLoad: function (options) {
    let that = this
    wx.getStorage({
      key: 'user',
      success: function (res) {
        that.data.userId = res.data.user.id
        that.data.token = res.data.token
        that.getStoreList(true)
      }
    })
  },
  toGoodsDetail(item) { //跳转商品详情
    common.gotoGoodsPage(e.currentTarget.dataset.item)
  },
  toStore(e) { // 跳转收藏店铺
    wx.navigateTo({
      url: '/packageA/pages/Goods/storePage/index?id=' + e.currentTarget.dataset.item.storeId,
    })
  },
  /**
   * 删除收藏
   * @param {object} e 绑定的属性
   */
  deleteFav(e) {
    const that = this
    common.showAlertView('操作提示', '是否取消该收藏？', function (confirm) {
      if (confirm) {
        const tempJson = {
          token: that.data.token,
          userId: that.data.userId,
          storeId: e.currentTarget.dataset.item.storeId
        }
        common.post('/store/favo/delete', tempJson, function (res) {
          if (res.status === 200) {
            common.showToast('取消收藏成功')
            that.getStoreList(true)
          } else {
            common.showRequestErrMsg(res)
          }
        })
      }
    })
  },
  // getGoodsList() { // 收藏商品列表
  //   let that = this
  //   let parameter = {
  //     pageNum: that.data.pageNum,
  //     typeId: 1,
  //     token: that.data.token,
  //     userId: that.data.userId
  //   }
  //   common.getJson("/item/favo/list", parameter, function (res) {
  //     if (res.status === 200) {
  //       that.setData({
  //         listData: res.data
  //       }, _ => {
  //         wx.hideLoading()
  //       })
  //     }
  //   })
  // },
  // getActivityList() { // 活动列表
  //   let that = this
  //   let parameter = {
  //     pageNum: that.data.pageNum,
  //     token: that.data.token,
  //     userId: that.data.userId
  //   }
  //   common.wxRequest("/activity/queryCollectListByUserId", "get", parameter, 'application/json', function (res) {
  //     console.log('res', res)
  //     that.setData({
  //       listData: res.data.result_list
  //     })
  //   })
  // },
  getStoreList(refresh = false) { // 店铺列表
    // 当前非刷新状态，正在加载数据或已经没有数据，不需要再次请求数据
    if (!refresh && (this.data.isLoadingBusy || this.data.noMoreData)) {
      return
    }

    if (!refresh) {
      this.setData({
        isLoadingBusy: true
      })
    } else {
      this.setData({
        refreshing: true,
        noMoreData: false
      })
    }
    const that = this
    const pageNum = refresh ? 1 : this.data.pageNum + 1
    const parameter = {
      pageNum,
      pageSize: 10,
      token: that.data.token,
      userId: that.data.userId
    }
    common.post('/store/favo/list', parameter, function (res) {
      if (res.status === 200) {
        that.data.pageNum = pageNum
        if (res.data && res.data.length > 0) {
          that.setData({
            listData: refresh ? res.data : [...that.data.listData, res.data]
          })
        } else {
          that.setData({
            noMoreData: true
          })
        }
      } else {
        common.showRequestErrMsg(res)
      }
    },
      function () {
        wx.stopPullDownRefresh({
          success: (res) => { },
        })
        that.setData({
          refreshing: false,
          isLoadingBusy: false
        })
      })
  },
  // getCrowdfunding() { // 团购
  //   let that = this
  //   let parameter = {
  //     pageNum: that.data.pageNum,
  //     token: that.data.token,
  //     userId: that.data.userId
  //   }
  //   common.wxRequest("/crowdfunding/findListByCollection", "get", parameter, 'application/json', function (res) {
  //     that.setData({
  //       listData: res.data.result_list
  //     })
  //   })
  // },
  // onChange(event) { // 切换tab
  //   this.setData({
  //     active: event.detail.index
  //   })
  //   switch (event.detail.index) {
  //     case 0:
  //       this.getGoodsList()
  //       break;
  //     case 1:
  //       this.getActivityList()
  //       break;
  //     case 2:
  //       this.getStoreList()
  //       break;
  //     case 3:
  //       this.getCrowdfunding()
  //       break;
  //   }
  // },
  onPullDownRefresh: function () {
    this.getStoreList(true)
  },
  onReachBottom: function () {
    this.getStoreList(false)
  }
})